import * as Cesium from 'cesium'

export default function initViewer(container) {
  Cesium.Camera.DEFAULT_VIEW_RECTANGLE = Cesium.Rectangle.fromDegrees(
    // 西边的经度
    89.5,
    // 南边维度
    20.4,
    // 东边经度
    110.4,
    // 北边维度
    61.2,
  )

  const viewer = new Cesium.Viewer(container, {
    // infoBox: false, // 关闭信息框
    geocoder: false, // 关闭搜索
    homeButton: false, // home按钮
    sceneModePicker: false, // 场景查看器的场景模式
    baseLayerPicker: false, // 图层选择器
    navigationHelpButton: false, // 帮助按钮
    animation: false, // 动画播放
    timeline: false, //时间轴
    fullscreenButton: false, // 全屏按
    shouldAnimate: true,
  })

  // 允许使用js
  let iframe = document.getElementsByClassName('cesium-infoBox-iframe')[0]
  iframe.setAttribute('sandbox', 'allow-same-origin allow-scripts allow-popups allow-forms')
  iframe.setAttribute('src', '')

  // 隐藏logo
  viewer.cesiumWidget.creditContainer.style.display = 'none'

  viewer.scene.globe.enableLighting = true
  // 取消天空盒显示
  viewer.scene.skyBox.show = false
  // 设置背景为黑色
  viewer.scene.backgroundColor = Cesium.Color.BLACK
  // 设置抗锯齿
  viewer.scene.postProcessStages.fxaa.enabled = true

  // 生成广州塔的位置113.3191, 23.109,
  const position = Cesium.Cartesian3.fromDegrees(
    // 经度
    113.3301,
    // 纬度
    23.0991,
    // 高度
    1500,
  )

  // flyTo
  viewer.camera.flyTo({
    destination: position,
    orientation: {
      heading: Cesium.Math.toRadians(-45),
      pitch: Cesium.Math.toRadians(-30),
      roll: 0,
    },
    duration: 2,
  })

  return viewer
}
